home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK2.toast / Development Kits (Disc 2) / ScriptX / Code Samples / untested / tcpip / browser / present.sx < prev    next >
Encoding:
Text File  |  1996-05-21  |  1.0 KB  |  39 lines  |  [TEXT/ttxt]

  1. --<<<
  2.  
  3. in module WebBrowser
  4.  
  5. class WebPresentationManager()
  6. class variables
  7.     presentMethods : (new HashTable)
  8. end
  9.  
  10. class method registerPresentMethod self {class WebPresentationManager} name presentMethod -> (
  11.     local n := getlowercase (name as string)
  12.     deleteKeyOne self.presentMethods n
  13.     self.presentMethods[n] := presentMethod
  14. )
  15.  
  16. class method present self {class WebPresentationManager} stuff #rest args -> (
  17.     local pm := self.presentMethods[getlowercase(stuff[1]["content-type" as string] as string)]
  18.     if (pm == empty) then
  19.         report (new generalexception) stuff
  20.     else
  21.         return (apply pm stuff args)
  22. )
  23.  
  24. function presentTITLE stuff #rest args #key url: -> (
  25.     -- This code is remarkably similar to elsewhere
  26.     local filename := getTempFileName()
  27.     createFile thetempdir filename @text
  28.     local s := getstream thetempdir filename @writable
  29.     stuff[2] | s
  30.     plug s
  31.     plug stuff[2]
  32.     openContainerFromURL url file: filename
  33.     return false
  34. )
  35.  
  36. registerPresentMethod WebPresentationManager "application/x-scriptx-title" presentTITLE
  37.  
  38. -->>>
  39.